Superpacking JS Demos
#JavaScript #Minification #圧縮
Daekenさんによる記事
Magister by StraylightのWrite-up
https://web.archive.org/web/20120905003012/http://daeken.com/superpacking-js-demos
内容
終わったJavaScript / WebGL minification
終わった細かいminification tips
terserとかがやってくれない領域
WebGLの定数は展開しよう
→ WebGLの定数を展開する
gl.uniform1f の返り値は0(???)なので、0として活用しよう
WebGLのAPIを叩くのに undefined を 0 として代用しても怒られない、みたいな話……?
for(k in gl) を使って、名前の短くなったWebGLのメソッドを gl のメンバとして格納しよう
当時はまだECMAScript: Arrow Functionがなかったので bind を使っているが、今はもっと短く書ける
→ WebGL API呼び出し破壊
[0,0,2,0,0,2,2,0,2,2,0,2] は '002002202202'.split('') と書ける
圧縮をする場合はおそらく不適
PNGを使ったJSコードの圧縮
pnginator・JsExeでやってるやつ
PNGの仕様やGoogle Chrome・Mozilla Firefoxの挙動まで踏み込んだ説明をしている
DecompressionStreamでJSを解凍しますで解決した課題なので、読み飛ばした